class_name EffectiveDB
extends Resource

@export var json_resource:JSON:
	set(value):
		json_resource = value


func get_all_effective_id() -> Array:
	var json_data = json_resource.data
	return json_data.keys()

func get_effective_arg_count(id:String) -> int:
	var json_data = json_resource.data
	return json_data[id]["args"].size()

func get_effective_arg_name(id:String, index:int) -> String :
	var json_data = json_resource.data
	return json_data[id]["args"][index]["name"]

func get_effective_arg_type(id:String, index:int) -> String :
	var json_data = json_resource.data
	return json_data[id]["args"][index]["type"]

func create_effective_instance(id:String):
	var json_data = json_resource.data
	return load(json_data[id]["effective"]).new()

